/*
 * db_def.h
 *
 *  Created on: 2012/07/02
 *      Author: shen
 */

#ifndef IF_DB_DEF_H_
#define IF_DB_DEF_H_

/*table name*/

#define TBL_CPPDIRECTIVEINFO  		"_CppDirectiveInfo"
#define TBL_CPPMACRODEFINFO  		"_CppMacroDefInfo"
#define TBL_CPPDEFREPINFO  			"_CppDefRepInfo"
#define TBL_CPPPPCONDITION  		"_CppPPCondition"
#define TBL_CPPTOKENLIST  			"_CppTokenList"

#define TBL_DECLARATION   			"_Declaration"
#define TBL_DECLARATOR   			"_Declarator"
#define TBL_TYPESPECIFIER  			"_TypeSpecifier"
#define TBL_EXPRESSION   			"_Expression"
#define TBL_EXPRESSIONLIST  		"_ExpressionList"
#define TBL_INITIALIZERDESIGNATION	"_InitializerDesignation"
#define TBL_STATEMENT   			"_Statement"
#define TBL_SYMBOLINFO   			"_SymbolInfo"
#define TBL_LINKAGE    				"_Linkage"
#define TBL_TYPEINFO   				"_TypeInfo"
#define TBL_VALUEINFO   			"_ValueInfo"
#define TBL_UNITECHAIN   			"_UniteChain"

#define TBL_OPTIONINFO    			"_OptionInfo"
#define TBL_CODESCOPE    			"_CodeScope"
#define TBL_FILEINDEX    			"_FileIndex"

#define TBL_MEMBER					"_Member"
#define TBL_CONSTANT				"_Constant"
#define TBL_GBLLINKAGE				"_GblLinkage"
#define TBL_VARIABLEINFO  			"_VariableInfo"
#define TBL_FUNCTIONIDINFO  		"_FunctionIdInfo"
#define TBL_COMMANDLIST				"_CommandList"
#define TBL_OPERAND					"_Operand"
#define TBL_LINKTYPEINFO			"_LinkTypeInfo"
#define TBL_TRANSUNIT				"_TransUnit"

/*table index*/
#define _T_(x)  	"_tbl_"#x
#define _T_IDX(x)	_T##_(x)

/*translation unit index*/
#define CPP_UNIT_INDEX	1
#define CC_UNIT_INDEX	1
#define P_UNIT_INDEX	0

/*table index*/
#define CPP_TABLE_INDEX		CPP_UNIT_INDEX+1
#define CC_TABLE_INDEX		CC_UNIT_INDEX+1
#define P_TABLE_INDEX		P_UNIT_INDEX+1

/*TBL_CPPDIRECTIVEINFO*/
#define DIRECTIVE_DIRECTIVE_KIND  	CPP_TABLE_INDEX+1
#define DIRECTIVE_PARAM_IDX			CPP_TABLE_INDEX+2
#define DIRECTIVE_PARAM_STR			CPP_TABLE_INDEX+3
#define DIRECTIVE_PARAM_S4			CPP_TABLE_INDEX+4
#define DIRECTIVE_RESULT_BOOL		CPP_TABLE_INDEX+5
#define DIRECTIVE_RESULT_IDX		CPP_TABLE_INDEX+6
#define DIRECTIVE_CODE_SCOPE   		CPP_TABLE_INDEX+7

/*TBL_CPPMACRODEFINFO*/
#define MACRODEF_MACRO_KIND   				CPP_TABLE_INDEX+1
#define MACRODEF_PARAMETER_NUMBER 			CPP_TABLE_INDEX+2
#define MACRODEF_IS_VALID   				CPP_TABLE_INDEX+3
#define MACRODEF_HAS_VARIABLE_PARAMETERS	CPP_TABLE_INDEX+4
#define MACRODEF_FIRST_TOKEN_INFO 			CPP_TABLE_INDEX+5
#define MACRODEF_LAST_TOKEN_INFO  			CPP_TABLE_INDEX+6
#define MACRODEF_DIRECTIVE_INFO  			CPP_TABLE_INDEX+7
#define MACRODEF_MACRO_NAME   				CPP_TABLE_INDEX+8

/*TBL_CPPDEFREPINFO*/
#define DEFREP_INDEX_COUNTER  			CPP_TABLE_INDEX+1
#define DEFREP_PARAM_KIND				CPP_TABLE_INDEX+2
#define DEFREP_PARAM_INDEX   			CPP_TABLE_INDEX+3
#define DEFREP_TOKEN_LABEL   			CPP_TABLE_INDEX+4
#define DEFREP_TOKEN_KIND   			CPP_TABLE_INDEX+5
#define DEFREP_CODE_SCOPE_INFO  		CPP_TABLE_INDEX+6

/*TBL_CPPPPCONDITION*/
#define CPPCOND_OPER_KIND				CPP_TABLE_INDEX+1
#define CPPCOND_VALUEOF_DOUBLE  		CPP_TABLE_INDEX+2
#define CPPCOND_VALUEOF_UNSIGNED 		CPP_TABLE_INDEX+3
#define CPPCOND_VALUEOF_SIGNED  		CPP_TABLE_INDEX+4
#define CPPCOND_LEFT_NODE_INFO  		CPP_TABLE_INDEX+5
#define CPPCOND_RIGHT_NODE_INFO  		CPP_TABLE_INDEX+6
#define CPPCOND_CODE_SCOPE_INFO  		CPP_TABLE_INDEX+7
#define CPPCOND_NODE_KIND  				CPP_TABLE_INDEX+8

/*TBL_CPPTOKENLIST*/
#define CPPTOKEN_CODE_SCOPE_INFO  	CPP_TABLE_INDEX+1
#define CPPTOKEN_TOKEN_LABEL   		CPP_TABLE_INDEX+2
#define CPPTOKEN_MACRO_EXT			CPP_TABLE_INDEX+3
#define CPPTOKEN_PPTOKEN_KIND		CPP_TABLE_INDEX+4

/*TBL_DECLARATION*/
#define DECL_TYPE_SPECIFIER_INFO 	CC_TABLE_INDEX+1
#define DECL_DECLARATOR_INFO  		CC_TABLE_INDEX+2
#define DECL_CODE_SCOPE_INFO  		CC_TABLE_INDEX+3
#define DECL_PARENT_KIND			CC_TABLE_INDEX+4
#define DECL_NAMESPACE_KIND			CC_TABLE_INDEX+5
#define DECL_PARENT_INDEX			CC_TABLE_INDEX+6
#define DECL_TRANSUNIT_INFO			CC_TABLE_INDEX+7
#define DECL_NEXT_DECLARATION_INFO	CC_TABLE_INDEX+8

/*TBL_DECLARATOR*/
#define DECLARATOR_NEXT_DECLARATOR_INFO 		CC_TABLE_INDEX+1
#define DECLARATOR_PARENT_DECLARATOR_INFO 		CC_TABLE_INDEX+2
#define DECLARATOR_DECLARATION_INFO 			CC_TABLE_INDEX+3
#define DECLARATOR_DECLARATOR_KIND 				CC_TABLE_INDEX+4
#define DECLARATOR_X_TBL_INFO					CC_TABLE_INDEX+5
#define DECLARATOR_POINTER_VOLATILE_NUMBER 		CC_TABLE_INDEX+6
#define DECLARATOR_POINTER_CONST_NUMBER 		CC_TABLE_INDEX+7
#define DECLARATOR_POINTER_RESTRICT_NUMBER 		CC_TABLE_INDEX+8
#define DECLARATOR_CHILD_DECLARATOR_INFO 		CC_TABLE_INDEX+9
#define DECLARATOR_TYPE_INFO 					CC_TABLE_INDEX+10
#define DECLARATOR_CODE_SCOPE_INFO 				CC_TABLE_INDEX+11

/*TBL_TYPESPECIFIER*/
#define SPECIFIER_CODE_SCOPE_INFO  		CC_TABLE_INDEX+1
#define SPECIFIER_DECLARATION_INFO 		CC_TABLE_INDEX+2
#define SPECIFIER_RESTRICT_NUMBER  		CC_TABLE_INDEX+3
#define SPECIFIER_VOLATILE_NUMBER  		CC_TABLE_INDEX+4
#define SPECIFIER_CONST_NUMBER  		CC_TABLE_INDEX+5
#define SPECIFIER_EXTERN_NUMBER   		CC_TABLE_INDEX+6
#define SPECIFIER_STATIC_NUMBER  		CC_TABLE_INDEX+7
#define SPECIFIER_AUTO_NUMBER   		CC_TABLE_INDEX+8
#define SPECIFIER_TYPEDEF_NUMBER  		CC_TABLE_INDEX+9
#define SPECIFIER_REGISTER_NUMBER  		CC_TABLE_INDEX+10
#define SPECIFIER_INTERRUPT_NUMBER 		CC_TABLE_INDEX+11
#define SPECIFIER_INLINE_NUMBER  		CC_TABLE_INDEX+12
#define SPECIFIER_ASM_NUMBER   			CC_TABLE_INDEX+13
#define SPECIFIER_NEAR_NUMBER   		CC_TABLE_INDEX+14
#define SPECIFIER_FAR_NUMBER   			CC_TABLE_INDEX+15
#define SPECIFIER_SIGNED_NUMBER   		CC_TABLE_INDEX+16
#define SPECIFIER_UNSIGNED_NUMBER		CC_TABLE_INDEX+17
#define SPECIFIER_LONG_NUMBER 			CC_TABLE_INDEX+18
#define SPECIFIER_SHORT_NUMBER 			CC_TABLE_INDEX+19
#define SPECIFIER_SPECIFIER_KIND  		CC_TABLE_INDEX+20
#define SPECIFIER_MEMBER_CHAIN_INFO		CC_TABLE_INDEX+21
#define SPECIFIER_SYMBOL_INFO   		CC_TABLE_INDEX+22
#define SPECIFIER_TYPE_INFO   			CC_TABLE_INDEX+23

/*TBL_EXPRESSION*/
#define EXP_OP_KIND 					CC_TABLE_INDEX+1
#define EXP_PRIMARY_X_INFO				CC_TABLE_INDEX+2
#define EXP_TYPE_INFO 					CC_TABLE_INDEX+3
#define EXP_CASTED_TYPE_INFO 			CC_TABLE_INDEX+4
#define EXP_CALCUTE_VALUE_INFO 			CC_TABLE_INDEX+5
#define EXP_CODE_SCOPE_INFO 			CC_TABLE_INDEX+6
#define EXP_IS_ILLEGAL_EXP 				CC_TABLE_INDEX+7
#define EXP_IS_L_VALUE 					CC_TABLE_INDEX+8
#define EXP_IS_MODIFIABLE 				CC_TABLE_INDEX+9
#define EXP_CONST_FLAG 					CC_TABLE_INDEX+10
#define EXP_PARENT_KIND 				CC_TABLE_INDEX+11
#define EXP_PARENT_TABLE_INFO			CC_TABLE_INDEX+12
#define EXP_LEFT_NODE_EXP_INFO 			CC_TABLE_INDEX+13
#define EXP_RIGHT_NODE_EXP_INFO 		CC_TABLE_INDEX+14

/*TBL_EXPRESSIONLIST*/
#define EXPLIST_IS_ILLEGAL 				CC_TABLE_INDEX+1
#define EXPLIST_CONST_FLAG 				CC_TABLE_INDEX+2
#define EXPLIST_PARENT_KIND 			CC_TABLE_INDEX+3
#define EXPLIST_PARAM_KIND 				CC_TABLE_INDEX+4
#define EXPLIST_EXP_X_INFO 				CC_TABLE_INDEX+5
#define EXPLIST_NEXT_EXP_LIST_INFO 		CC_TABLE_INDEX+6
#define EXPLIST_PARENT_INFO 			CC_TABLE_INDEX+7
#define EXPLIST_CODE_SCOPE_INFO 		CC_TABLE_INDEX+8
#define EXPLIST_DESIGNATION_INFO 		CC_TABLE_INDEX+9

/*TBL_INITIALIZERDESIGNATION*/
#define INIT_DESIGNATION_KIND 			CC_TABLE_INDEX+1
#define INIT_IS_ILLEGAL 				CC_TABLE_INDEX+2
#define INIT_X_INFO 					CC_TABLE_INDEX+3
#define INIT_PARENT_INFO 				CC_TABLE_INDEX+4
#define INIT_CHILD_INFO 				CC_TABLE_INDEX+5
#define INIT_CODE_SCOPE_INFO 			CC_TABLE_INDEX+6
#define INIT_EXP_LIST_INFO 				CC_TABLE_INDEX+7

/*TBL_STATEMENT*/
#define STMT_STATEMENT_KIND 			CC_TABLE_INDEX+1
#define STMT_TABLE_INFO_0				CC_TABLE_INDEX+2
#define STMT_TABLE_INFO_1				CC_TABLE_INDEX+3
#define STMT_TABLE_INFO_2				CC_TABLE_INDEX+4
#define STMT_TABLE_INFO_3				CC_TABLE_INDEX+5
#define STMT_TABLE_INFO_4				CC_TABLE_INDEX+6
#define STMT_CODE_SCOPE_INFO 			CC_TABLE_INDEX+7
#define STMT_PARENT_KIND 				CC_TABLE_INDEX+8
#define STMT_PARENT_TABLE_INFO			CC_TABLE_INDEX+9
#define STMT_BEFORE						CC_TABLE_INDEX+10
#define STMT_NEXT						CC_TABLE_INDEX+11
#define STMT_LIST_BEGINE				CC_TABLE_INDEX+12
#define STMT_LIST_END					CC_TABLE_INDEX+13

#define STMT_DECLARATION				STMT_TABLE_INFO_0

#define STMT_BLOCK_CHAIN_INFO 			STMT_TABLE_INFO_0

#define STMT_LABEL_SYMBOL_INFO 			STMT_TABLE_INFO_0
#define STMT_LABEL_STATEMENT_INFO 		STMT_TABLE_INFO_1
#define STMT_LABEL_GOTO_CHAIN_INFO 		STMT_TABLE_INFO_2

#define STMT_EXP_STMT_EXP_INFO 			STMT_TABLE_INFO_0

#define STMT_IF_COND_EXP_INFO 			STMT_TABLE_INFO_0
#define STMT_IF_BODY_STMT_INFO 			STMT_TABLE_INFO_1
#define STMT_IF_ELSE_BODY_STMT_INFO 	STMT_TABLE_INFO_2

#define STMT_FOR_INIT_DECLARATION_INFO 	STMT_TABLE_INFO_0
#define STMT_FOR_INIT_EXP_INFO 			STMT_TABLE_INFO_1
#define STMT_FOR_COND_EXP_INFO 			STMT_TABLE_INFO_2
#define STMT_FOR_INC_EXP_INFO 			STMT_TABLE_INFO_3
#define STMT_FOR_BODY_STATEMENT_INFO 	STMT_TABLE_INFO_4

#define STMT_WHILE_COND_EXP_INFO 		STMT_TABLE_INFO_0
#define STMT_WHILE_BODY_STMT_INFO 		STMT_TABLE_INFO_1

#define STMT_DO_BODY_STMT_INFO 			STMT_TABLE_INFO_0
#define STMT_DO_COND_EXP_INFO 			STMT_TABLE_INFO_1

#define STMT_SWITCH_COND_INFO 				STMT_TABLE_INFO_0
#define STMT_SWITCH_BODY_STMT_INFO 			STMT_TABLE_INFO_1
#define STMT_SWITCH_FIRST_CASE_STMT_INFO 	STMT_TABLE_INFO_2
#define STMT_SWITCH_DEFAULT_STMT_INFO 		STMT_TABLE_INFO_3

#define STMT_CASE_SWITCH_STMT_INFO 		STMT_TABLE_INFO_0
#define STMT_CASE_CONST_EXP_INFO 		STMT_TABLE_INFO_1
#define STMT_CASE_CHILD_STMT_INFO 		STMT_TABLE_INFO_2
#define STMT_CASE_NEXT_CASE_INFO 		STMT_TABLE_INFO_3

#define STMT_DEFAULT_SWITCH_STMT_INFO 	STMT_TABLE_INFO_0
#define STMT_DEFAULT_CHILD_STMT_INFO 	STMT_TABLE_INFO_1

#define STMT_GOTO_LABEL_SYMBOL_INFO 	STMT_TABLE_INFO_0
#define STMT_GOTO_LABEL_STMT_INFO 		STMT_TABLE_INFO_1

#define STMT_CONTINUE_LOOP_STMT_INFO 			STMT_TABLE_INFO_0

#define STMT_BREAK_LOOP_OR_SWITCH_STMT_INFO 	STMT_TABLE_INFO_0

#define STMT_RETURN_EXP_INFO 					STMT_TABLE_INFO_0

/*TBL_SYMBOLINFO*/
#define SYMBOL_CLASS 					CC_TABLE_INDEX+1
#define SYMBOL_NAMESPACE				CC_TABLE_INDEX+2
#define SYMBOL_KIND 					CC_TABLE_INDEX+3
#define SYMBOL_TYPE_INFO 				CC_TABLE_INDEX+4
#define SYMBOL_LINKAGE_INFO 			CC_TABLE_INDEX+5
#define SYMBOL_IS_REFERRED 				CC_TABLE_INDEX+6
#define SYMBOL_NAME 					CC_TABLE_INDEX+7
#define SYMBOL_CODE_SCOPE_INFO 			CC_TABLE_INDEX+8
#define SYMBOL_FUNCTION_BODY_STMT_INFO	CC_TABLE_INDEX+9
#define SYMBOL_DATA_SECTION_INFO 		CC_TABLE_INDEX+10
#define SYMBOL_INIT_EXP_LIST_INFO 		CC_TABLE_INDEX+11
#define SYMBOL_INIT_VALUE_INFO 			CC_TABLE_INDEX+12
#define SYMBOL_MEMBER_OFFSET_BYTES 		CC_TABLE_INDEX+13

/*TBL_LINKAGE*/
#define LINK_IS_EXTERNAL 				CC_TABLE_INDEX+1
#define LINK_IS_REFERRED 				CC_TABLE_INDEX+2
#define LINK_ALL_CHAIN_INFO 			CC_TABLE_INDEX+3
#define LINK_TEN_DECL_CHAIN_INFO 		CC_TABLE_INDEX+4
#define LINK_DEFINITION_CHAIN_INFO 		CC_TABLE_INDEX+5
#define LINK_DEF_SYMBOL_INFO			CC_TABLE_INDEX+6

/*TBL_TYPEINFO*/
#define TYPE_KIND 						CC_TABLE_INDEX+1
#define TYPE_SIGN 						CC_TABLE_INDEX+2
#define TYPE_LENGTH 					CC_TABLE_INDEX+3
#define TYPE_FLOATING 					CC_TABLE_INDEX+4
#define TYPE_EQUAL 						CC_TABLE_INDEX+5
#define TYPE_SIZE 						CC_TABLE_INDEX+6
#define TYPE_ELEMENT_TYPE_INFO 			CC_TABLE_INDEX+7
#define TYPE_NONE_QUALIFIER_TYPE_INFO 	CC_TABLE_INDEX+8
#define TYPE_MEMBER_CHAIN_INFO 			CC_TABLE_INDEX+9
#define TYPE_TAG_SYMBOL_INFO 			CC_TABLE_INDEX+10
#define TYPE_NEXT			 			CC_TABLE_INDEX+11
#define TYPE_UNDEF_FLAG			 		CC_TABLE_INDEX+12
#define TYPE_VSIZE_FLAG			 		CC_TABLE_INDEX+13

/*TBL_VALUEINFO*/
#define VALUE_TYPE_INFO			CC_TABLE_INDEX+1
#define VALUE_INTEGER_VALUE 	CC_TABLE_INDEX+2
#define VALUE_FLOATING_VALUE 	CC_TABLE_INDEX+3

/*TBL_UNITECHAIN*/
#define CHAIN_KIND 				CC_TABLE_INDEX+1
#define CHAIN_TABLE_INFO		CC_TABLE_INDEX+2
#define CHAIN_PRE_CHAIN_INFO 	CC_TABLE_INDEX+3
#define CHAIN_NEXT_CHAIN_INFO 	CC_TABLE_INDEX+4

/*TBL_OPTIONINFO*/
#define OPT_KIND 					P_TABLE_INDEX+1
#define OPT_INT_VALUE				P_TABLE_INDEX+2
#define OPT_STR_VALUE				P_TABLE_INDEX+3

/*TBL_CODESCOPE*/
#define SCOPE_FILE_INDEX_INFO 		P_TABLE_INDEX+1
#define SCOPE_BEGIN_LINE  			P_TABLE_INDEX+2
#define SCOPE_END_LINE  			P_TABLE_INDEX+3
#define SCOPE_BEGIN_LINE_OFFSET		P_TABLE_INDEX+4
#define SCOPE_END_LINE_OFFSET 		P_TABLE_INDEX+5

/*TBL_FILEINDEX*/
#define FILE_FILE_PATH 				P_TABLE_INDEX+1
#define FILE_MODIFY_TIME 			P_TABLE_INDEX+2
#define FILE_FILE_SIZE 				P_TABLE_INDEX+3
#define FILE_IS_FOLDER 				P_TABLE_INDEX+4
#define FILE_IS_EXISTED 			P_TABLE_INDEX+5
#define FILE_TRANSUNIT				P_TABLE_INDEX+6

/*TBL_MEMBER*/
#define MEMBER_CLASS				P_TABLE_INDEX+1
#define MEMBER_TYPE					P_TABLE_INDEX+2
#define MEMBER_NAME					P_TABLE_INDEX+3
#define MEMBER_VALUE				P_TABLE_INDEX+4
#define MEMBER_CODESCOPE			P_TABLE_INDEX+5
#define MEMBER_NEXT					P_TABLE_INDEX+6
#define MEMBER_MEMOFS				P_TABLE_INDEX+7

/*TBL_CONSTANT*/
#define CONSTANT_B_FLOATING			P_TABLE_INDEX+1
#define CONSTANT_SIZE				P_TABLE_INDEX+2
#define CONSTANT_B_SIGNED			P_TABLE_INDEX+3
#define CONSTANT_B_NEG				P_TABLE_INDEX+4
#define CONSTANT_INTVALUE			P_TABLE_INDEX+5
#define CONSTANT_DOUBLEVALUE		P_TABLE_INDEX+6

/*TBL_GBLLINKAGE*/
#define GBLLINK_SYMDEFINFO 			P_TABLE_INDEX+1
#define GBLLINK_B_REF				P_TABLE_INDEX+2
#define GBLLINK_B_EXTERNAL			P_TABLE_INDEX+3
#define GBLLINK_B_FUNCTION			P_TABLE_INDEX+4

/*TBL_FUNCTIONIDINFO*/
#define FUNC_SYM_CLASS 			P_TABLE_INDEX+1
#define FUNC_LINKAGE_INFO 		P_TABLE_INDEX+2
#define FUNC_TYPE_INFO 			P_TABLE_INDEX+3
#define FUNC_SYMBOL_NAME 		P_TABLE_INDEX+4
#define FUNC_ENTRY	 			P_TABLE_INDEX+5
#define FUNC_EXIT				P_TABLE_INDEX+6
#define FUNC_CODE_SCOPE_INFO 	P_TABLE_INDEX+7

/*TBL_VARIABLEINFO*/
#define VAR_SYM_CLASS 			P_TABLE_INDEX+1
#define VAR_LINKAGE_INFO 		P_TABLE_INDEX+2
#define VAR_TYPE_INFO 			P_TABLE_INDEX+3
#define VAR_SYMBOL_NAME 		P_TABLE_INDEX+4
#define VAR_CODE_SCOPE_INFO 	P_TABLE_INDEX+5
#define VAR_DATA_SECTION_INFO 	P_TABLE_INDEX+6
#define VAR_INITIAL_CMDBEGIN 	P_TABLE_INDEX+7
#define VAR_INITIAL_CMDEND		P_TABLE_INDEX+8
#define VAR_VALUE_INFO 			P_TABLE_INDEX+9
#define VAR_OFFSET				P_TABLE_INDEX+10
#define VAR_LENGTH				P_TABLE_INDEX+11
#define VAR_B_SIZEVARI			P_TABLE_INDEX+12
#define VAR_CHILD				P_TABLE_INDEX+13
#define VAR_PARENT				P_TABLE_INDEX+14
#define VAR_NEXT				P_TABLE_INDEX+15
#define VAR_PREV				P_TABLE_INDEX+16

/*TBL_COMMANDLIST*/
#define CMDLIST_KIND			P_TABLE_INDEX+1
#define CMDLIST_B_INLOOP		P_TABLE_INDEX+2
#define CMDLIST_CODESCOPE		P_TABLE_INDEX+3
#define CMDLIST_TYPE			P_TABLE_INDEX+4
#define CMDLIST_FUNC			P_TABLE_INDEX+5
#define CMDLIST_LEFT			P_TABLE_INDEX+6
#define CMDLIST_RIGHT			P_TABLE_INDEX+7
#define CMDLIST_PREV			P_TABLE_INDEX+8
#define CMDLIST_NEXT			P_TABLE_INDEX+9
#define CMDLIST_NAME			P_TABLE_INDEX+10

/*TBL_OPERAND*/
#define OPERAND_KIND			P_TABLE_INDEX+1
#define OPERAND_PARAM			P_TABLE_INDEX+2

/*TBL_LINKTYPEINFO*/
#define LINKTYPE_KIND			P_TABLE_INDEX+1
#define LINKTYPE_SIGNED			P_TABLE_INDEX+2
#define LINKTYPE_LONGSHORT		P_TABLE_INDEX+3
#define LINKTYPE_INTFLOAT		P_TABLE_INDEX+4
#define LINKTYPE_TYPEQUAL		P_TABLE_INDEX+5
#define LINKTYPE_B_UNDEFINED	P_TABLE_INDEX+6
#define LINKTYPE_B_VARSIZE		P_TABLE_INDEX+7
#define LINKTYPE_SIZE			P_TABLE_INDEX+8
#define LINKTYPE_ORIGIN			P_TABLE_INDEX+9
#define LINKTYPE_NOQUAL			P_TABLE_INDEX+10
#define LINKTYPE_MEMCHAIN		P_TABLE_INDEX+11
#define LINKTYPE_NAME			P_TABLE_INDEX+12
#define LINKTYPE_NEXT			P_TABLE_INDEX+13
#define LINKTYPE_CNT			P_TABLE_INDEX+14

/*TBL_TRANSUNIT*/
#define TU_FILEINDEX			P_TABLE_INDEX+1
#define TU_DEC_CHAIN			P_TABLE_INDEX+2
#define TU_VARI_MAX				P_TABLE_INDEX+3
#define TU_FUNC_MAX				P_TABLE_INDEX+4
#define TU_LINK_MAX				P_TABLE_INDEX+5

#endif /* IF_DB_DEF_H_ */
